package org.xx.armory.commons;

/**
 * 单参数方法。
 *
 * @param <R>
 *         方法的返回值类型。
 * @param <V>
 *         单参数的类型。
 * @param <E>
 *         可能抛出的异常类型。
 */
@FunctionalInterface
public interface Func1<R, V, E extends Exception> {
    /**
     * 执行方法。
     *
     * @param v
     *         方法的单参数。
     * @return 方法的执行结果。
     * @throws E
     *         如果方法执行出错。
     */
    R call(V v)
            throws E;
}
